1. Field of the Invention
The invention relates to Code Shift Keying (CSK) Spread Spectrum (SS) communication systems. Uses of SS communication systems include power line communications, satellite communications, mobile communications, and others.
2. Description of Related Art
A block diagram of one conventional SS communication system is shown in FIG. 1(a). Timing of the signals associated with FIG. 1(a) is shown by FIG. 1(b). The PN code T10 from a pseudo noise (PN) code generator 10 and data stream: 20 are processed by the EX-OR gate 20. Its output signal T20 is amplified by amplifier 30, and then processed for transmission. After the transmitted signal T30 is received, it is amplified by an amplifier 40, whose output is applied to a correlator 50. The signal T50 from the correlator 50 is compared to a threshold value THl by a comparator 70, which produces demodulated data T70.
In order to recover the transmitted bits, the PN code generated by correlator 50 at the receiver must be synchronized to the PN code T10 modulated on the transmitted signal T30. However, if the transmitted signal T30 experiences progressive deterioration, the output of the correlator 50 will lose its synchronization (loss of lock).
In an effort to overcome deficiencies of conventional PN communication systems, the present inventors proposed a Code Shift Keying communication system, described as in "Highly Efficient Power Line SS Modem,"Symposium on Spread Spectrum Technology and Its Applications, IEICE, Mar. 22, 1989. FIG. 2 illustrates a general block diagram of such CSK spread spectrum communication system consisting of a transmitter 200 and a receiver 270.
The transmitter includes a modulator 280, which in turn comprises the following elements.
1) Two PN code generators 210 and 220 for producing two pseudo-noise (PN) codes M00 and M01. PA1 2) Selector 230 for choosing one of two codes M00 and M01, depending on its input data i230. If the value of an incoming bit is "1," the circuit 230 will select code M00; otherwise, the circuit 230 will select M01. PA1 1) It divides a period of time spanning one bit into several subintervals. PA1 2) It counts the number of arrivals of auto-correlation peaks (output by a correlator) in each subinterval. PA1 3) It declares that a "carrier" is detected if there are at least m arrivals in any one of the subintervals. PA1 1) For those systems using short codes, demodulation need not incur excessively high error rates (an error meaning that when bit "1" is transmitted, demodulator outputs a corresponding bit with the value "0."). PA1 2) Separate monitoring of signals for the demodulator and the synchronization control circuits effect accurate demodulation and stable synchronization/tracking. PA1 3) The carrier detection circuit may correctly declare the presence of carrier during the absence of exact synchronization. PA1 4) Implementation of algorithms for accurately positioning timing pulses effects a more stable synchronization and more accurate demodulation of data. PA1 5) The inclusion of a stable synchronization tracking circuit enables the present CSK system to "lock" on auto-correlation peaks and allows a consistent demodulation of data, unlike the case when the location of peaks continuously drift within a monitoring window. PA1 6) The provision of a short monitoring window for demodulation prevents large inter-correlation peaks, which are placed half way between two auto-correlation peaks, from interfering with demodulation.
The output from the modulator 280 is further processed and transmitted at the signal transmitting interface 240. The transmitted signal T240, is then later recaptured at a signal receiving interface 250, where PN modulated signal T250 is recovered from the received signal T240. The recovered signal T250 is input to the demodulator/correlator 260, where T250 is correlated with local copies of the PN codes and demodulated to recover the transmitted bits i230.
A conventional PN communication system is likely to lose lock in cases where the communication "channel" (transmission path) introduces significant amount of signal degradation. Implementations of the CSK system as originally proposed by the inventors overcomes the difficulty suffered by the conventional spread spectrum systems. However, the previously proposed implementation of the CSK system is still not perfect.
The signal receiving interface 250 in the CSK system above transfers its output to a pair of correlators (not shown) One of two correlators multiplies the incoming signal by a local copy of M00. The other correlator, by M01. For each received bit, one of two correlation signals at the output of correlators will have an auto-correlation peak, and the other will contain only cross-correlation peaks Because signal demodulation depends on the detection of auto-correlation peaks, large cross-correlation peaks may cause undesired errors. The system demodulator may confuse an excessively large cross-correlation peak with an actual auto-correlation peak. Low cross-correlation values at the outputs of correlators can be ensured by using two PN codes M00 and M01 that have low cross-correlation values. However, the number of existing pair of codes which have low cross-correlation values decreases with decreasing length of codes. For example, for codes of length 7, there exists only one M-series code. Therefore, correlators in which short codes are used are likely to exhibit high cross-correlation peaks.
In the system above, in order to demodulate data and to produce timing signals (indicating the start and the end of each data bit), accurate monitoring, or windowing, of correlation signals is desired. Because demodulation depends on comparing relative signal peak sizes of two correlation signals, and because a short monitoring window yields a better contrast between two monitored correlation peaks, the length of the monitoring window for demodulation needs to be relatively short. On the other hand, the monitoring window for a timing signal generator, or a synchronization control circuit, needs to be long in order to provide stability. The provision of a long window enables the synchronization control circuit to "average" out temporal effects of noise. Therefore, for a CSK system with a single window monitoring scheme, optimum operation of the demodulator will introduce instability to the synchronization control circuit.
If a propagation path adds interferences and noise to the transmitted signal, amplitudes of the received signal will fluctuate. Signals that are synchronized to auto-correlation peaks are sensitive to the fluctuations. The carrier detection circuit, which in turn depends on synchronization condition of such signals, may generate undesirable outputs
Finally, in order to synchronize its monitoring windows to auto-correlation peaks, a synchronization control circuit needs to: 1) center the placement of the monitoring window about auto-correlation peaks; and 2) maintain the current position of monitoring window about auto-correlation peaks once the monitoring windows are centered. The former of the two operations is related to synchronization, and the latter, to maintaining the synchronization, otherwise called tracking.